
java什么是面向对象
品牌型号:华为MateBook D 14系统:Windows11首先要说明一点,对象不是java独有的,事实上对象只是一种概念,一种用于解决问题的程序设计的思想方法。要理解对象就必须得要和面向对象结合起来。在面向对象中把某一类事物所共有的属性和行为抽象出来之后就形成了一个类。而类的一个实际的例子就叫做对象。所以从上可以看出类和对象之间存在着这样一种关系:类是具有共同的属性名称和行为的一组对...
2024-02-20
java不可变对象问题
String abc[]={“abc”}; String def[]={};def=abc;def[0]=def[0]+"changed";System.out.println(abc[0]);通过更改“ def”对象,我的abc对象也被更改。在String[]数组旁边有这个特性还有什么其他的Java对象有类似的特性?能解释更多吗?为了防止在更改def时更改abc,我必须执行def =abc.clone();。回答:您将对象的可变性/...
2024-01-10
如何比较两个java对象
我有两个从同一类实例化的java对象。MyClass myClass1 = new MyClass();MyClass myClass2 = new MyClass();如果我将它们的两个属性都设置为完全相同的值,然后验证它们是否相同if(myClass1 == myClass2){ // objects match ...}if(myClass1.equals(myClass2)){ // objects match ...}但是,这些方法都不返回真实值。我已经检查了...
2024-01-10
Java是100%面向对象的吗?
Java具有原始数据类型,这些原始数据类型不是像Ruby中的对象那样派生的。那么我们可以将Java视为100%面向对象的语言吗?另一个问题:Java为什么不设计原始数据类型以对象方式?回答:当Java首次出现(版本1.x)时,JVM确实非常缓慢。尽管从长远来看,这是一个非常糟糕的决定,但不将基元实现为一...
2024-01-10
jvm中的Java对象ID
调试时,在Eclipse中对象值附近显示一个对象ID。例如:28332是会话对象的ID。另一个示例:waiting for:(id=101)显示在“调试”面板中。这些ID既不是哈希码,也不是System.identityHashCode。有人知道this吗-如何获取对象的ID?回答:我假设它们在内部具有IdentityHashMap<Object,Integer>,为每个对象分配一个唯一的(...
2024-01-10
如何销毁java中的对象?
我在接受以下采访时遇到了这个问题:如何在Java中销毁对象?a. System.gc(); b. Runtime.getRuntime.gc(); c. object.delete(); d. object.finalize(); e. Java performs gc by itself, no need to do it manually.答案应该是e? 如果e不在那里怎么办?然后 ?显然,c不是答案。a和b将为整个应用程序执行gc(问题需要一个对象)。...
2024-01-10
Java泛型T与对象
我想知道以下两个方法声明之间有什么区别:public Object doSomething(Object obj) {....}public <T> T doSomething(T t) {....}有什么可以/可以做的,而不是另一种?我在本网站的其他地方找不到这个问题。回答:与上下文隔离-没有区别。在t和两者上,obj您只能调用的方法Object。但是有上下文-如果您有泛型类:MyCl...
2024-01-10
Java 如何按多个字段比较对象
假设你有一些具有多个字段的对象,可以通过以下方式进行比较:public class Person { private String firstName; private String lastName; private String age; /* Constructors */ /* Methods */}因此,在此示例中,当你询问是否:a.compareTo(b) > 0你可能会问a的姓氏是否早于b的姓氏,或者a是否早于b,等等。在这...
2024-01-10
合并Java 8中的两个对象列表
我有一个Parent带有20个属性的Java类(attrib1, attrib2 ..attrib20)及其相应的getter和setters。我也有两个Parent对象列表:list1和list2。现在,我想合并两个列表,并避免基于attrib1和的重复对象attrib2。使用Java 8:List<Parent> result = Stream.concat(list1.stream(), list2.stream()) .distinct() ...
2024-01-10
计算Java中对象的大小
我想记录一个对象占用一个项目的内存量(以字节为单位)(我正在比较数据结构的大小),并且似乎没有方法可以在Java中完成。据说C / C ++有sizeOf()方法,但这在Java中不存在。我尝试Runtime.getRuntime().freeMemory()在创建对象之前和之后记录JVM中的可用内存,然后记录差异,但是无论结构中元素的数量如何...
2024-01-10
Java 如何制作对象的深层副本?
实现深层对象复制功能有点困难。您采取什么步骤来确保原始对象和克隆对象没有引用?回答:一种安全的方法是序列化对象,然后反序列化。这样可以确保所有内容都是全新的参考。这是有关如何有效执行此操作的文章。注意事项:类可能会覆盖序列化,这样就不会创建新实例,例如单例。如果您...
2024-01-10
如何在Java中复制对象?
如何在Java中复制对象?回答:创建一个副本构造函数:class DummyBean { private String dummy; public DummyBean(DummyBean another) { this.dummy = another.dummy; // you can access }}每个对象还有一个克隆方法,可用于复制对象,但不要使用它。创建类和执行不正确的克隆方法太容易了。...
2024-01-10
用Java通过引用传递对象
是否可以通过Java通过引用传递对象就像在C#中一样public static void SomeMethod(ref Object obj){...}回答:不,这在Java中是不可能的。在Java中,方法的所有参数均按值传递。注意非原始型的的变量,它们是对对象的引用,也由值来传递:在这种情况下, 参考 是 由值来传递。请注意,按值传递引用与按引...
2024-01-10
C ++和Java对象模型之间的差异
在Java中,序列化对象非常容易。在C 中memcpy,只要对象像C结构一样就安全(?)(无多态性)。在C 中, 在Java中,只能从ctor访问静态函数和数据成员。 在C ++中,我可以愉快地使用ctor中的非静态成员和函数。在Java中,我可以在类中内联初始化数据成员。在C ++中,这是一个编译错误。在Java中...
2024-01-10
Java 从内部类对象获取外部类对象
我有以下代码。我想掌握用来创建内部类对象的外部类对象inner。我该怎么做?public class OuterClass { public class InnerClass { private String name = "Peakit"; } public static void main(String[] args) { OuterClass outer = new OuterClass(); InnerClass inner = outer...
2024-01-10
轻量级Java对象缓存API
回答:我正在寻找Java内存对象缓存API。有什么建议吗?您过去使用过什么解决方案?回答:现在,我只是在使用地图:Map cache = new HashMap<String, Object>();cache.put("key", value);回答:我需要扩展缓存以包括以下基本功能:最大尺寸生存时间但是,我不需要更复杂的功能,例如:来自多个进程的访问...
2024-01-10
在java中如何比较两个对象是否相等?
在java中如何比较两个对象是否相等?何时使用equals和hashcode?回答:理论(针对语言律师和数学倾向者):equals()(javadoc)必须定义一个等价关系(它必须是自反的,对称的和可传递的)。另外,它必须是一致的(如果未修改对象,则它必须保持返回相同的值)。此外,o.equals(null)必须始终返回false。...
2024-01-10
JavaRDD对象的创建失败
我有这段代码:ArrayList<Row> list = new ArrayList<Row>();Row testRow = RowFactory.create(true, 101.0, "string");list.add(testRow);JavaRDD<Row> testRDD = JavaSparkContext.parallelize(list);在此代码的最后一行,我有以下错误消息:无法从类型JavaSparkContext静态引用非静态方法prallelize(List <Row>)。如何改...
2024-01-10
如何在Java 8中对对象列表进行分页?
给定一个java.util.Listwithn元素和所需的页面大小m,我想将其转换为包含n/m+n%m元素的地图。每个地图元素应包含m元素。这是一个整数示例: List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // What is the equivalent Java 8 code to create the map below from my list? Map<Integer, List<Intege...
2024-01-10
Java比较两个列表的对象值?
我有两个列表 *ListA<MyData> listA = new ArrayList<MyData>(), ListB<MyData>listB = new ArrayList<MyData>()都包含 MyData 类型的对象,而 MyData* 包含这些变量。MyData { String name; boolean check;}利斯塔和数组listB都包含MyData的对象,现在我要两个列表的对象值比较这里 ,以及 变量一样,如果 包含这些对象值ListA = ["Ram...
2024-01-10
按属性将对象列表分组:Java
我需要使用特定对象的属性(位置)对对象(学生)列表进行分组,代码如下所示,public class Grouping { /** * @param args the command line arguments */ public static void main(String[] args) { List<Student> studlist = new ArrayList<Student>(); studlist.add(new Student("1...
2024-01-10
比较Java中不同类的对象字段
我有两个对象,每个对象都有数十个字段:Class1 { int firstProperty; String secondProperty; ...}Class2 { int propertyOne; String propertyTwo; ...}尽管某些字段的名称不同,但是它们应该具有相同的含义和目的,例如firstProperty和propertyOne。我想比较两个类的对象的“相似”字段实际上是否具有相同的值...
2024-01-10
如何从Java方法返回多个对象?
我想从Java方法返回两个对象,并且想知道这样做的好方法是什么?我能想到的可能的方法是:回报HashMap(因为这两个对象是相关的),或者返回ArrayList的Object对象。更准确地说,我要返回的两个对象是(a)List对象和(b)相同名称的逗号分隔。我想从一个方法返回这两个对象,因为我不想遍历对象...
2024-01-10
在Java中为对象实现内存中压缩
我们有一个用例,我们想压缩和存储对象(内存中),并在需要时解压缩它们。我们想要压缩的数据变化很大,从浮点向量到字符串再到日期。有人可以建议使用任何好的压缩技术吗?我们将压缩的难易程度和减压速度视为最重要的因素。谢谢。回答:如果要压缩实例,MyObject可以实现它Serializable...
2024-01-10
如何在Java对象列表中进行搜索
我有一个对象列表,列表很大。对象是class Sample { String value1; String value2; String value3; String value4; String value5; }现在,我必须在列表中搜索对象的特定值。假设value3=='three' 我必须返回那些对象(我的搜索并不总是基于value3)清单是List<Sample> list = new ArrayList<Sample>();有效的方法是什么?...
2024-01-10
